<?php

namespace Portal\ContractBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Ticket
 */
class Ticket
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     */
    private $ticketType;

    /**
     * @var integer
     */
    private $status;

    /**
     * @var \DateTime
     */
    private $createdAt;

    /**
     * @var \DateTime
     */
    private $usedAt;

    /**
     * @var \Portal\ContractBundle\Entity\User
     */
    private $user;

    /**
     * @var \Portal\ContractBundle\Entity\Contract
     */
    private $contract;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set ticketType
     *
     * @param string $ticketType
     * @return Ticket
     */
    public function setTicketType($ticketType)
    {
        $this->ticketType = $ticketType;
    
        return $this;
    }

    /**
     * Get ticketType
     *
     * @return string 
     */
    public function getTicketType()
    {
        return $this->ticketType;
    }

    /**
     * Set status
     *
     * @param integer $status
     * @return Ticket
     */
    public function setStatus($status)
    {
        $this->status = $status;
    
        return $this;
    }

    /**
     * Get status
     *
     * @return integer 
     */
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return Ticket
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set usedAt
     *
     * @param \DateTime $usedAt
     * @return Ticket
     */
    public function setUsedAt($usedAt)
    {
        $this->usedAt = $usedAt;
    
        return $this;
    }

    /**
     * Get usedAt
     *
     * @return \DateTime 
     */
    public function getUsedAt()
    {
        return $this->usedAt;
    }

    /**
     * Set user
     *
     * @param \Portal\ContractBundle\Entity\User $user
     * @return Ticket
     */
    public function setUser(\Portal\ContractBundle\Entity\User $user = null)
    {
        $this->user = $user;
    
        return $this;
    }

    /**
     * Get user
     *
     * @return \Portal\ContractBundle\Entity\User 
     */
    public function getUser()
    {
        return $this->user;
    }

    /**
     * Set contract
     *
     * @param \Portal\ContractBundle\Entity\Contract $contract
     * @return Ticket
     */
    public function setContract(\Portal\ContractBundle\Entity\Contract $contract = null)
    {
        $this->contract = $contract;
    
        return $this;
    }

    /**
     * Get contract
     *
     * @return \Portal\ContractBundle\Entity\Contract 
     */
    public function getContract()
    {
        return $this->contract;
    }
}
